/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package categoria;

import java.util.List;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author Alberto
 */
public class CadastroCategoria {
    
    /**
     * Objeto do tipo RepositorioCategoria
     */
    private RepositorioCategoria objRepositorioCategoria = null;
    
    public CadastroCategoria(RepositorioCategoria objRepositorioCategoria){
        this.objRepositorioCategoria = objRepositorioCategoria;
    }
    
    /**
     * Metodo que ira cadastrar o Categoria
     *
     * @param Categoria objCategoria
     * @return void
     */
    public void cadastrarAtualizar(Categoria objCategoria) throws  ErroAcessoRepositorioException {
        this.objRepositorioCategoria.cadastrarAtualizar(objCategoria);
    }


    /**
     * Metodo que ira produrar o Categoria
     *
     * @param int idCategoria
     * @return void
     */
    public Categoria procurar(int idCategoria) throws CategoriaNaoCadastradoException, ErroAcessoRepositorioException {
        return this.objRepositorioCategoria.procurar(idCategoria);
    }

    /**
     * Metodo que ira verificar a existência do Categoria
     *
     * @param int idCategoria
     * @return void
     */
    public boolean existe(int idCategoria) throws ErroAcessoRepositorioException {
        return this.objRepositorioCategoria.existe(idCategoria);
    }

    /**
     * Metodo que ira listar os Categorias
     *
     * @return Collection
     */
    public List<Categoria> listar(String strComplemento) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioCategoria.listar(strComplemento);
    }

    /**
     * Método que ira remover o Categoria do banco
     *
     * @param idCategoria
     */
    public void remover(int idCategoria) throws CategoriaNaoCadastradoException, ErroAcessoRepositorioException {
        this.objRepositorioCategoria.remover(idCategoria);
    }
    
    /**
     * Metodo que ira listar os Categorias
     *
     * @return Collection
     */
    public List<Categoria> listarAtiva() throws Exception, ErroAcessoRepositorioException {
       return this.objRepositorioCategoria.listarAtiva();
    } 
    
    /**
     * Metodo que ira listar os Categorias
     *
     * @return Collection
     */
    public List<Categoria> procurarPorDescricao(String descricao) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioCategoria.procurarPorDescricao(descricao);
    }
}
